import java.util.ArrayList;
import java.util.List;

public class Leet19 {
    public static void main(String[] args) {

    }
    public ListNode removeNthFromEnd(ListNode head, int n) {
        List<ListNode> list = new ArrayList<>();
        while (head!=null){
            list.add(head);
            head = head.next;
        }
        System.out.println(list.size());
        if (list.size()-n-1>=0&&list.size()-n+1<list.size()){
            list.get(list.size()-n-1).next = list.get(list.size()-n+1);
            System.out.println(3);
        }else if (list.size()-n-1>=0){
            list.get(list.size()-n-1).next = null;
        }
        else if (list.size()==1){
            System.out.println(4);
            return null;
        }
        else if (list.size()-n-1<0){
            System.out.println(2);
            return list.get(1);
        }else if (list.size()-n+1>list.size()){
            list.get(list.size()-1).next = null;
            System.out.println(1);
            return list.get(0);
        }

//        ListNode re = head;
//        for (int i = 0; i < n-2; i++) {
//            head = head.next;
//        }
//        if (head.next.next!=null)
//            head.next = head.next.next;
//        else head.next=null;
//        return re;
        return list.get(0);
    }
}